<?php
/**
 *  
 *
  */
namespace Org\Util;
class Jsgxklsf {

    
     public function gxklsf_balance() {
		$condition['c_id']=10;
		$condition['status']=0;
 		$order=M('lottery_order')->where($condition)->select();  //所有没有结算订单
		
		$period=M('lottery_order')->distinct(true)->field('c_no')->where($condition)->select();  //没结算期数
		foreach($period as $k=>$v){
 		  $condition1['c_id']=10;
		  $condition1['c_no']=$v['c_no'];
		  $cqssc_result[$v['c_no']]=M('lottery_results')->where($condition1)->getField('lottery_result');  //根据期数获取开奖结果
 		}
		 
		foreach($order as $ok=>$ov){
 		   if($cqssc_result[$ov['c_no']]){    //有开奖结果才结算
 		      $this->jiesuan($cqssc_result[$ov['c_no']],$ov);
			  }
 		}
		return; 		
     }
	
	public function jiesuan($result,$info=array())
	{
		 
		$num= explode(",",$result);
		$sum=array_sum($num);
 		 
		//总和大小玩法 ZDX
		if($info['w_type']=='ZDX'){
 			$this->zh_dx($sum,$info);
		}
		 
		//总和单双玩法 ZDS
		if($info['w_type']=='ZDS'){
			$this->zh_ds($sum,$info);
		}

		//龙虎玩法 LH15
		if($info['w_type']=='LH15'){
			$this->lht($num,$info);
		}

		//总和尾大小
		if ($infop['w_type']=='ZWDX') {
			$this->zh_wdx($sum,$info);
		}
		 
 
		 //1-5球玩法  B1-5  0-9球  大小单双
		for($i=1;$i<=5;$i++){
 			if($info['w_type']=='YDX'.$i){ //1-5大小
			 
			   $this->bdx($num,$info);
			}
			   
			if($info['w_type']=='YDS'.$i){ //1-5单双
			   $this->bds($num,$info);
			}

			if($info['w_type']=='YWDX'.$i){ //1-5尾打小
			   $this->ywdx($num,$info);
			}

			if($info['w_type']=='YHDS'.$i){ //1-5合单双
			   $this->yhds($num,$info);
			}

			if($info['w_type']=='SB'.$i){  //1-5色波
			   $this->sb($num,$info);
			} 

			if($info['w_type']=='YFLSX'.$i){  //1-5福禄寿喜
			   $this->yflsx($num,$info);
			}
			   
			if($info['w_type']=='B'.$i){ //1-5 号码
			   $this->ball($num,$info);
			}
			 
		}
		 
 	}
		 
		 
	public function zh_dx($sum,$info){  //总和大小
	    if($sum==55){
            $this->benjin($info); //当和值等于55,则大小退回本金
	    }else{
	    	if($sum>55){
		        $dx='D';	 
			}else{
				$dx='X';	 
			}
		    if($dx==$info['t_type']){  //中奖
				$this->zhongjiang($info);
	 		}else{
				//不中奖  判断是否反水
	 			$this->fanshui($info);
			}
	    }
        

    }
    
	public function zh_ds($sum,$info){  //总和单双
        if($sum%2==0){
		  $ds='S';
		}else{
		  $ds='D';	 
		}
	    if($ds==$info['t_type']){  //中奖
			$this->zhongjiang($info);
 		}else{
			//不中奖  判断是否反水
 			$this->fanshui($info);
 		}
    }

    public function zh_wdx($sum,$info){
    	//$w=substr($sum,-1);
    	$w=$sum%10;   //求个位数
    	if ($w>=5) {
    		$ds='D';
    	}else{
    		$ds='X';
    	}
    	if($ds==$info['t_type']){  //中奖
			$this->zhongjiang($info);
 		}else{
			//不中奖  判断是否反水
 			$this->fanshui($info);
 		}
    }
	
 
 
	public function bdx($num,$info){  //1-5球大小
		$ax=substr($info['w_type'], -1); 
		$bx=$ax-1;
		if ($num[$bx]==21) {
			$this->benjin($info); //出现和 情况,则大小退回本金
		}else{
			if($num[$bx]>=11){
				$bdx='D';	 
			}else{
			    $bdx='X';	 
			}
		 	if($bdx==$info['t_type']){  //中奖
			    $this->zhongjiang($info);
			}else{
			    //不中奖  判断是否反水
			    $this->fanshui($info);
			}
		}
	 		 
	}

	public function bds($num,$info){  //1-5球单双
		$ax=substr($info['w_type'], -1); 
		$bx=$ax-1;
		if ($num[$bx]==21) {
			$this->benjin($info); //出现和 情况,则单双退回本金
		}else{
			if($num[$bx]%2==0){
				$bds='S';	 
			}else{
				$bds='D';	 
			}
		 	if($bds==$info['t_type']){  //中奖
			    $this->zhongjiang($info);
			}else{
			    //不中奖  判断是否反水
			    $this->fanshui($info);
			}
		}
			 
	}

	public function ywdx($num,$info){
		$ax=substr($info['w_type'], -1); 
		$bx=$ax-1;
		$w=$num[$bx]%10;   //求个位数
		if ($num[$bx]==21) {
			$this->benjin($info); //出现和 情况,则单双退回本金
		}else{
			if($w>=5){
				$bds='D';	 
			}else{
				$bds='X';	 
			}
		 	if($bds==$info['t_type']){  //中奖
			    $this->zhongjiang($info);
			}else{
			    //不中奖  判断是否反水
			    $this->fanshui($info);
			}
		}
	}

	public function yhds($num,$info){
		$ax=substr($info['w_type'], -1); 
		$bx=$ax-1;
		$g=$num[$bx]%10;   //求个位数
		$s = (int)($num[$bx]/10);  
		$shiwei = $s%10; //求十位数
		$heds=$g+$shiwei;
		if ($num[$bx]==21) {
			$this->benjin($info); //出现和 情况,则单双退回本金
		}else{
			if($heds%2==0){
				$bds='S';	 
			}else{
				$bds='D';	 
			}
		 	if($bds==$info['t_type']){  //中奖
			    $this->zhongjiang($info);
			}else{
			    //不中奖  判断是否反水
			    $this->fanshui($info);
			}
		}
	}

	public function sb($num,$info){
		$red=array(1,4,7,10,13,16,19);
		$green=array(3,6,9,12,15,18,21);
		$blue=array(2,5,8,11,14,17,20);

		$ax=substr($info['w_type'], -1); 
		$bx=$ax-1;
		if (in_array($num[$bx], $red)) {
			$sb='R';
		}elseif (in_array($num[$bx], $blue)) {
			$sb='B';
		}elseif (in_array($num[$bx], $green)) {
			$sb='G';
		}
		if($sb==$info['t_type']){  //中奖
		    $this->zhongjiang($info);
		}else{
		    //不中奖  判断是否反水
		    $this->fanshui($info);
		}

	}

	public function yflsx($num,$info){
		$ax=substr($info['w_type'], -1); 
		$bx=$ax-1;
		$n_num=(int)$num[$bx];
		if ($n_num>=0&&$n_num<=5) {
			$flsx='F';
		}elseif ($n_num>=6&&$n_num<=10) {
			$flsx='L';
		}elseif ($n_num>=11&&$n_num<=15) {
			$flsx='S';
		}elseif ($n_num>=16&&$n_num<=20) {
			$flsx='X';
		}

		if($flsx==$info['t_type']){  //中奖
		    $this->zhongjiang($info);
		}else{
		    //不中奖  判断是否反水
		    $this->fanshui($info);
		}

	}

	public function lht($num,$info){  //龙虎和
        if($num[0]>$num[4]){
			    $lht='L';	 
			}elseif($num[0]<$num[4]){
				$lht='H';	  
			}else{
				$lht='T';	  	 
			}
		
		if($lht==$info['t_type']){  //中奖
			$this->zhongjiang($info);
 		}else{
			//不中奖  判断是否反水
 			$this->fanshui($info);
 		}
    }	 
	  
	public function ball($num,$info){  //1-5球单双
		$ax=substr($info['w_type'], -1); 
		$bx=$ax-1;
		 
	 	if($num[$bx]==$info['t_type']){  //中奖
		    $this->zhongjiang($info);
		}else{
		    //不中奖  判断是否反水
		    $this->fanshui($info);
		}	 
	}	
  
	public function zhongjiang($info){
	 	$money=round((float)$info['money']*$info['odds'],2);
		//print_r($money);exit;
		$updata_data['is_winning'] = 1;
		$updata_data['status'] = 1;
		$updata_data['js_time'] = time();
		$updata_data['win_money'] =round((float)$info['money']*($info['odds']-1),2);
		M('lottery_order')->where('order_id='.$info['order_id'])->save($updata_data); // xi
		M('member')->where('member_id='.$info['m_id'])->setInc('member_money',$money); // 用户的余额增加
		//添加余额变动记录
		$insert_log['m_id']=$info['m_id'];
		$insert_log['change_money']=$money;
		$insert_log['change_type']=5;
		$insert_log['add_time']=time();
		$insert_log['remark']='广西快乐十分中奖 下注期号:'.$info['c_no'].'订单号:'.$info['order_sn'];
		M('account_log')->add($insert_log);
	}
		 
	public function fanshui($info){
	 	$updata_data['is_winning'] = 2;
		$updata_data['status'] = 1;
		$updata_data['js_time'] = time();
		
		//M('lottery_order')->where('order_id='.$info['order_id'])->save($updata_data); // xi
		if($info['rebate']>0){
			M('member')->where('member_id='.$info['m_id'])->setInc('member_money',$info['rebate']); // 用户的余额增加
			//添加余额变动记录
			$insert_log['m_id']=$info['m_id'];
			$insert_log['change_money']=$info['rebate'];
			$insert_log['change_type']=2;
			$insert_log['add_time']=time();
			$insert_log['remark']='广西快乐十分反水 下注期号:'.$info['c_no'].'订单号:'.$info['order_sn'];
			M('account_log')->add($insert_log);
		}
		 $updata_data['lost_money'] =$info['money']-$info['rebate'];
		  M('lottery_order')->where('order_id='.$info['order_id'])->save($updata_data); // xi
	}

	public function benjin($info){
	 	$money=$info['money'];
		//print_r($money);exit;
		$updata_data['is_winning'] = 3;
		$updata_data['status'] = 1;
		$updata_data['js_time'] = time();
		M('lottery_order')->where('order_id='.$info['order_id'])->save($updata_data); // xi
		M('member')->where('member_id='.$info['m_id'])->setInc('member_money',$money); // 用户的余额增加
		//添加余额变动记录
		$insert_log['m_id']=$info['m_id'];
		$insert_log['change_money']=$money;
		$insert_log['change_type']=5;
		$insert_log['add_time']=time();
		$insert_log['remark']='广西快乐十分退本金 下注期号:'.$info['c_no'].'订单号:'.$info['order_sn'];
		M('account_log')->add($insert_log);
	}	 
	 
}